#!/usr/bin/python


# -*- coding: utf-8 -*-
###############################################################################
#
#           Copyright (c) 2010 Miltuxon // mcmanzo@miltuxon.com.ar
#
#  Este programa es software libre; usted puede redistruirlo y/o modificarlo bajo
#  los terminos de la Licencia Publica General GNU, tal y como esta publicada
#  por la Free Software Foundation; ya sea la version 3 de la Licencia, o (a su
#  eleccion) cualquier version posterior.
#  
#  Este programa se distribuye con la intencion de ser util, pero SIN NINGUNA
#  GARANTIA; incluso sin la garantia implicita de USABILIDAD O UTILIDAD PARA UN
#  FIN PARTICULAR. Vea la Licencia Publica General GNU para mas detalles.
#  
#  Una copia de la Licencia Publica General GNU puede se descargada del sig sitio
#                    http://www.gnu.org/licenses/gpl.html
#
###############################################################################


import bitly
from optparse import OptionParser


LOGIN='miltuxon'
APIKEY='R_c13da9b834802cf618b8b0031a66d3b1'



def my_about(option, opt, value, parser):
	print "About:"
	print "  " + parser.get_version()
	print "  Author: Miltuxon - http://www.miltuxon.com.ar"
	print "  Bit.ly Api Library - http://code.google.com/p/python-bitly/"
	parser.exit()


def main():
	parser = OptionParser(version="Command-Line Bit.ly URLs Manager v0.2_20100919")

	parser.add_option("-s", "--short", dest="lurl",
                  help="shorten url specified in LONGURL", metavar="LONGURL")

	parser.add_option("-l", "--long", dest="surl",
                  help="Expand bit.ly url specified in BITLYURL", metavar="BITLYURL")
	
	parser.add_option("-a", "--about", action="callback", callback=my_about, help="Print about screen")

	(options, args) = parser.parse_args()

	LONGURL=options.lurl
	BITLYURL=options.surl
	
	if (LONGURL is None and BITLYURL is None):
		parser.error("Options -s or -l must be specified, -h for details")

	if LONGURL is not None:
		try:
			api=bitly.Api(login=LOGIN, apikey=APIKEY)
			corta=api.shorten(LONGURL)    
			print "Shorten URL is %s" % corta
		except Exception, e:
			print e
		

	if BITLYURL is not None:
		try:
			api=bitly.Api(login=LOGIN, apikey=APIKEY)
			larga=api.expand(BITLYURL)    
			print "Expanded Bit.ly URL is %s"  % larga
		except Exception, e:
			print e
			



if __name__ == "__main__":
	main()


	












